perm filename MEMO.DOC[NET,KMC] blob
sn#166720 filedate 1975-06-27 generic text, type C, neo UTF8
COMMENT ā VALID 00003 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 00100 THIS FILE IS MLISP.DOC[213,203] AT UCLA
C00004 00003 00100 The following are the steps necessary to create an MLISP system under
C00008 ENDMK
Cā;
00100 THIS FILE IS MLISP.DOC[213,203] AT UCLA
00200 SPECIFIC COMMENTS ON PUTTING MLISP TOGETHER ON CCBS
00300
00400 TRY THIS ALLOCATION:
00500 R LISP 42
00600 Y2000 14000 (CR)
00700 DO2 HAS THE CURRENT FILE. AFTER STARTING LISP, (DSKIN DO2) THEN (PXPX)
00800 THEN (INIT1) SCAN$ (INIT2) AS STATED BELOW.
00900
01000 WHEN LISP READS IN UTILS, IT HANGS UP WHEN IT GETS TO FORM FEED.
01100 TO GET IT GOING, DO (CTRL)L .
01200
01300 DOING SSAVE SAVES THE UPPER SEGMENT UNPROTECTED,
01400 SO THE DO FILE "DO" SHOULD WORK RIGHT.
01500
01600 PPRINT HAS LISP OF PPRINT.MLI AND MACRO1.MLI.
01700
01800 NOW IF WE WANT TO SPEED THE TWO-PASS PROCESS UP:
01900 (IT IS CURRENTLY SLOW BECAUSE THE MACROS ARE EXPANDED
02000 WHILE PRETTY-PRINTING, MAKING OUTPUT FROM MLISP
02100 AND INPUT TO COMPL OVERBEARING)
02200 THE TRICK IS AS FOLLOWS:
02300
02400 LOAD INTO COMPLR: (MACROS.LSP) AND (PPRINT.LAP)
02500
02600 OR THE PART OF PPRINT THAT CAME FROM MACRO1.MLI
02700 THEN TAKE MACROS.LSP OUT OF MLISP.
02800
00100 The following are the steps necessary to create an MLISP system under
00200 UCI LISP.
00300
00400
00500 (1) Compile the files MLISP, RUNFN1, RUNFN2, PPRINT
00600 using the standard UCI LISP compiler.
00700
00800
00900 (2) Assemble the machine language scanner (c.f. the MLISP manual)
01000 using the standard DEC MACRO assembler; e.g.
01100 COMPILE SCAN.MAC <cr>
01200
01300
01400 (3) Load the resulting LAP and REL files by:
01500 R ILISP 22 <cr> Note: <cr> = carriage return
01600 Y1000_4000___<cr> _ = space
01700 (EXIT) <cr>
01800 SSAVE MLISP <cr>
01900
02000 RUN MLISP <cr>
02100 (HGHCOR 6000) (SETSYS DSK: MLISP) <cr>
02200 (SETQ SAVORG BPORG) (SETQ BPORG (HGHORG NIL)) <cr>
02300 (SETQ SAVEND BPEND) (SETQ BPEND (HGHEND)) <cr>
02400 (DSKIN (MLISP.LAP) (RUNFN1.LAP) (MACROS.LSP)(PPRINT.LAP) MINIT UTILS) <cr>
02500 (HGHORG BPORG) (SETQ BPORG SAVORG) (SETQ BPEND SAVEND) <cr>
02600 (INIT1) <cr>
02700 DSK:SCAN <altmode>
02800 (INIT2) <cr>
02900 (EXIT) <cr>
03000 SSAVE MLISP <cr>
03100
03200
03300 (4) Create a file (UTILS) of MLISP runtime functions containg the files
03400 RUNFN2.LAP and SETQS; e.g.
03500 COPY UTILS ā RUNFN2.LAP,SETQS <cr>
03600
03700
03800 If the machine language scanner cannot be used (for any reason), the
03900 LISP version -- three times slower -- may have to be used. See the
04000 MLISP manual for instructions.
04100
04200 All files with extension MLI are MLISP versions of the corresponding
04300 LISP files; e.g. RUNFN1.MLI is the MLISP version of the LISP file RUNFN1.
04400 Since they are in the MLISP notation, these MLI files make the translator
04500 easier to understand. They also provide examples of MLISP programs.
04600
04700 The file MEXPR.MLI is the reverse LISP ā MLISP translator.
04800
04900 The files in the MLISP system:
05000 LISP file MLISP file(s)
05100
05200 MLISP MLISP.MLI
05300 RUNFN1 RUNFN1.MLI
05400 RUNFN2 RUNFN2.MLI
05500 PPRINT PPRINT.MLI, MACRO1.MLI
05600 MACROS.LSP MACROS.MLI
05700 MINIT
05800 SETQS
05900 MEXPR.MLI
06000 SCAN.MAC (machine language scanner -- MACRO file)
06100 SCAN SCAN.MLI (LISP scanner, if necessary)
06200 MEMO (this file)